/*Cache previous results of checkers moves*/
#include <stdlib.h>
#include "checkers.h"
#include "checkers_hash.h"

typedef struct CheckersCacheEntry {
	hash_t hashcode;
	CheckersMove bestmove;
	char score, state;
} CheckersCacheEntry;

typedef struct CheckersCache {
	CheckersCacheEntry* entries;
	size_t amount;
	size_t capacity;
} CheckersCache;

//void init_
void chCacheInit(CheckersCache* cache);
void chCacheRelease(CheckersCache* cache);
void chCachePut(CheckersCache* cache, CheckersCacheEntry* entry);
CheckersCacheEntry* chCacheGet(CheckersCache* cache, hash_t hashcode);

